package com.jincheng.system.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class ActivityDetailDTO {
    private Long activityId;  // 活动ID
    private String activityName;  // 活动名称
    private Boolean isSignOut; // 是否需要签退
    private Long orgId;  // 组织ID
    private String orgName;  // 组织名称
    private Long chairId; // 主席id
    private String chairName; // 主席名称
    private Long tribeId;  // 部落ID
    private String tribeName;  // 部落名称
    private List<Long> deptList; // 部门ID集合
    private Long typeId;  // 类型ID
    private String typeName;  // 类型名称
    private Integer level;  // 级别
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;  // 活动开始时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;  // 活动结束时间
    private String location;  // 活动地点
    private String address;  // 活动地点
    private String description;  // 活动描述
    private String imageUrl;  // 活动图片URL

    public void setDept(String dept) {
        this.deptList = (dept == null || dept.trim().isEmpty())
                ? new ArrayList<>()
                : Arrays.stream(dept.split(","))
                .map(String::trim)
                .map(Long::parseLong)
                .collect(Collectors.toList());
    }
}
